<html>
    <head>
        <title>AbpAspNetCoreMultiTenancyOptions 选项类</title>
    </head>
    <body>
        <script>
            /*
                 3、AbpAspNetCoreMultiTenancyOptions 选项类


                                                (1)、修改"租户键"的参数名称

                                                            __tenant可以使用 "AbpAspNetCoreMultiTenancyOptions" 更改参数名称。

                                                            eg：
                                                                    services.Configure<AbpAspNetCoreMultiTenancyOptions>(options =>
                                                                    {
                                                                        options.TenantKey = "MyTenantKey";  // 更改"TenantKey",参数名称
                                                                    });


                                                            如果您更改了TenantKey，请确保通过Angular客户端中的withOptions方法将其传递给provideAbpCore，如下所示：

                                                                    @NgModule({
                                                                        providers: [
                                                                            provideAbpCore(
                                                                            withOptions({
                                                                                // ...
                                                                                tenantKey: "MyTenantKey",
                                                                            })
                                                                            ),
                                                                        ],
                                                                        // ...
                                                                    })
                                                                    export class AppModule {}

                                                            如果需要访问它，可以按如下方式注入：
                                                            
                                                                    import { Inject } from '@angular/core';
                                                                    import { TENANT_KEY } from '@abp/ng.core';

                                                                    class SomeComponent {
                                                                        constructor(@Inject(TENANT_KEY) private tenantKey: string) {}
                                                                    }

                                                            但是，我们不建议更改此值，因为某些客户端可能会假定__tenant作为参数名称，并且他们可能需要手动配置。

                                                (2)、MultiTenancyMiddlewareErrorPageBuilder 用于处理不活动和不存在的租户。

                                                                默认情况下它会响应一个错误页面，您可以根据需要对其进行更改，
                                                                
                                                                例如：仅输出错误日志并继续ASP NET Core的请求管道。

                                                                        Configure<AbpAspNetCoreMultiTenancyOptions>(options =>
                                                                        {
                                                                            options.MultiTenancyMiddlewareErrorPageBuilder = async (context, exception) =>
                                                                            {
                                                                                // 处理异常

                                                                                // Return true to stop the pipeline, false to continue.
                                                                                return true;
                                                                            };
                                                                        });

                                                (3)、关于独立验证服务器

                                                            Openidduce是ABP中的默认身份验证服务器（自v6.0起）。
                                                            
                                                            当您使用OpenIdduce时，您还必须将此代码添加到PreConfigure方法中。
                                                
                                                                        // using Volo.Abp.OpenIddict.WildcardDomains

                                                                        PreConfigure<AbpOpenIddictWildcardDomainOptions>(options =>
                                                                        {
                                                                            options.EnableWildcardDomainSupport = true;
                                                                            options.WildcardDomainsFormat.Add("https://{0}.mydomain.com");
                                                                        }); 

                                                            您还必须将此代码添加到Configure方法中：

                                                                        // using Volo.Abp.MultiTenancy;

                                                                        Configure<AbpTenantResolveOptions>(options =>
                                                                        {
                                                                            options.AddDomainTenantResolver("{0}.mydomain.com");
                                                                        });
            */
        </script>
    </body>
</html>